home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / misc / tasm / misc.zoo / test3210.asm < prev    next >
Assembly Source File  |  1991-07-13  |  13KB  |  325 lines

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ; TASM  test file
  3. ; Test all instructions and addressing modes.
  4. ; Processor: TMS32010
  5. ;
  6.  
  7.  
  8.         .org 100h
  9. shift   .equ 4
  10. shift0  .equ 0
  11. addr    .equ 12h
  12. port    .equ 2
  13. arp     .equ 1
  14. ar      .equ 1
  15. const   .equ 34h
  16. const1  .equ  1h
  17.  
  18.         ABS                ;7F88 2 NOP 1
  19.         
  20.         ADD  *+,shift,arp  ;00A0 2 T1   1 8 0F00
  21.         ADD  *-,shift,arp  ;0090 2 T1   1 8 0F00
  22.         ADD  *,shift,arp   ;0080 2 T1   1 8 0F00
  23.         ADD  *+,shift      ;00A8 2 T1   1 8 0F00
  24.         ADD  *-,shift      ;0098 2 T1   1 8 0F00
  25.         ADD  *,shift       ;0088 2 T1   1 8 0F00
  26.         ADD  *+            ;00A8 2 NOP  1
  27.         ADD  *-            ;0098 2 NOP  1
  28.         ADD  *             ;0088 2 NOP  1
  29.         ADD  addr,shift    ;0000 2 TDMA 1 8 0F00
  30.         ADD  addr          ;0000 2 T1   1 0 007F
  31.         
  32.         ADDH *+,arp        ;60A0 2 T1   1 0 01
  33.         ADDH *-,arp        ;6090 2 T1   1 0 01
  34.         ADDH *,arp         ;6080 2 T1   1 0 01
  35.         ADDH *+            ;60A8 2 NOP  1
  36.         ADDH *-            ;6098 2 NOP  1
  37.         ADDH *             ;6088 2 NOP  1
  38.         ADDH addr          ;6000 2 T1   1 0 007F
  39.         
  40.         ADDS *+,arp        ;61A0 2 T1   1 0 01
  41.         ADDS *-,arp        ;6190 2 T1   1 0 01
  42.         ADDS *,arp         ;6180 2 T1   1 0 01
  43.         ADDS *+            ;61A8 2 NOP  1
  44.         ADDS *-            ;6198 2 NOP  1
  45.         ADDS *             ;6188 2 NOP  1
  46.         ADDS addr          ;6100 2 T1   1 0 007F
  47.         
  48.         AND  *+,arp        ;79A0 2 T1   1 0 01
  49.         AND  *-,arp        ;7990 2 T1   1 0 01
  50.         AND  *,arp         ;7980 2 T1   1 0 01
  51.         AND  *+            ;79A8 2 NOP  1
  52.         AND  *-            ;7998 2 NOP  1
  53.         AND  *             ;7988 2 NOP  1
  54.         AND  addr          ;7900 2 T1   1 0 7F
  55.         
  56.         APAC               ;7F8F 2 NOP  1
  57.  
  58. loop1:
  59.         B    loop1         ;F900 4 SWAP 1
  60.         BANZ loop1         ;F400 4 SWAP 1
  61.         BGEZ loop1         ;FD00 4 SWAP 1
  62.         BGZ  loop1         ;FC00 4 SWAP 1
  63.         BIOZ loop1         ;F600 4 SWAP 1
  64.         BLEZ loop1         ;FB00 4 SWAP 1
  65.         BLZ  loop1         ;FA00 4 SWAP 1
  66.         BNZ  loop1         ;FE00 4 SWAP 1
  67.         BV   loop1         ;F500 4 SWAP 1
  68.         BZ   loop1         ;FF00 4 SWAP 1
  69.  
  70.         CALA               ;7F8C 2 NOP  1
  71.         CALL loop1         ;F800 4 SWAP 1
  72.         DINT               ;7F81 2 NOP  1
  73.         
  74.         DMOV *+,arp        ;69A0 2 T1   1 0 01
  75.         DMOV *-,arp        ;6990 2 T1   1 0 01
  76.         DMOV *,arp         ;6980 2 T1   1 0 01
  77.         DMOV *+            ;69A8 2 NOP  1
  78.         DMOV *-            ;6998 2 NOP  1
  79.         DMOV *             ;6988 2 NOP  1
  80.         DMOV addr          ;6900 2 T1   1 0 007F
  81.         
  82.         EINT               ;7F82 2 NOP  1
  83.         
  84.         IN   *+,port ,arp  ;40A0 2 T1   1 8 0700
  85.         IN   *-,port ,arp  ;4090 2 T1   1 8 0700
  86.         IN   * ,port ,arp  ;4080 2 T1   1 8 0700
  87.         IN   *+,port       ;40A8 2 T1   1 8 0700
  88.         IN   *-,port       ;4098 2 T1   1 8 0700
  89.         IN   * ,port       ;4088 2 T1   1 8 0700
  90.         IN   addr,port     ;4000 2 TDMA 1 8 0700
  91.         
  92.         LAC  *+,shift,arp  ;20A0 2 T1   1 8 0F00
  93.         LAC  *-,shift,arp  ;2090 2 T1   1 8 0F00
  94.         LAC  *,shift,arp   ;2080 2 T1   1 8 0F00
  95.         LAC  *+,shift      ;20A8 2 T1   1 8 0F00
  96.         LAC  *-,shift      ;2098 2 T1   1 8 0F00
  97.         LAC  *,shift       ;2088 2 T1   1 8 0F00
  98.         LAC  *+            ;20A8 2 NOP  1
  99.         LAC  *-            ;2098 2 NOP  1
  100.         LAC  *             ;2088 2 NOP  1
  101.         LAC  addr,shift    ;2000 2 TDMA 1 8 0F00
  102.         LAC  addr          ;2000 2 T1   1 0 007F
  103.         
  104.         LACK const         ;7E00 2 T1   1 0 00FF
  105.         
  106.         LAR  ar,*+,arp     ;38A0 2 TAR  1 0 0001
  107.         LAR  ar,*-,arp     ;3890 2 TAR  1 0 0001
  108.         LAR  ar,*,arp      ;3880 2 TAR  1 0 0001
  109.         LAR  ar,*+         ;38A8 2 TAR  1 0 0001
  110.         LAR  ar,*-         ;3898 2 TAR  1 0 0001
  111.         LAR  ar,*          ;3888 2 TAR  1 0 0001
  112.         LAR  ar, addr      ;3800 2 TAR  1 0 007F
  113.         
  114.         LARK ar,const      ;7000 2 TAR  1 0 00FF
  115.         LARP const1        ;6880 2 T1   1 0 0001
  116.         
  117.         LDP  *+,arp        ;6FA0 2 T1   1 0 01
  118.         LDP  *-,arp        ;6F90 2 T1   1 0 01
  119.         LDP  *,arp         ;6F80 2 T1   1 0 01
  120.         LDP  *+            ;6FA8 2 NOP  1
  121.         LDP  *-            ;6F98 2 NOP  1
  122.         LDP  *             ;6F88 2 NOP  1
  123.         LDP  addr          ;6F00 2 T1   1 0 007F
  124.         
  125.         LDPK const1        ;6E00 2 T1   1 0 01
  126.         
  127.         LST  *+,arp        ;7BA0 2 T1   1 0 01
  128.         LST  *-,arp        ;7B90 2 T1   1 0 01
  129.         LST  *,arp         ;7B80 2 T1   1 0 01
  130.         LST  *+            ;7BA8 2 NOP  1
  131.         LST  *-            ;7B98 2 NOP  1
  132.         LST  *             ;7B88 2 NOP  1
  133.         LST  addr          ;7B00 2 T1   1 0 007F
  134.         
  135.         LT   *+,arp        ;6AA0 2 T1   1 0 01
  136.         LT   *-,arp        ;6A90 2 T1   1 0 01
  137.         LT   *,arp         ;6A80 2 T1   1 0 01
  138.         LT   *+            ;6AA8 2 NOP  1
  139.         LT   *-            ;6A98 2 NOP  1
  140.         LT   *             ;6A88 2 NOP  1
  141.         LT   addr          ;6A00 2 T1   1 0 007F
  142.         
  143.         LTA  *+,arp        ;6CA0 2 T1   1 0 01
  144.         LTA  *-,arp        ;6C90 2 T1   1 0 01
  145.         LTA  *,arp         ;6C80 2 T1   1 0 01
  146.         LTA  *+            ;6CA8 2 NOP  1
  147.         LTA  *-            ;6C98 2 NOP  1
  148.         LTA  *             ;6C88 2 NOP  1
  149.         LTA  addr          ;6C00 2 T1   1 0 007F
  150.         
  151.         LTD  *+,arp        ;6BA0 2 T1   1 0 01
  152.         LTD  *-,arp        ;6B90 2 T1   1 0 01
  153.         LTD  *,arp         ;6B80 2 T1   1 0 01
  154.         LTD  *+            ;6BA8 2 NOP  1
  155.         LTD  *-            ;6B98 2 NOP  1
  156.         LTD  *             ;6B88 2 NOP  1
  157.         LTD  addr          ;6B00 2 T1   1 0 007F
  158.         
  159.         MAR  *+,arp        ;68A0 2 T1   1 0 01
  160.         MAR  *-,arp        ;6890 2 T1   1 0 01
  161.         MAR  *,arp         ;6880 2 T1   1 0 01
  162.         MAR  *+            ;68A8 2 NOP  1
  163.         MAR  *-            ;6898 2 NOP  1
  164.         MAR  *             ;6888 2 NOP  1
  165.         MAR  addr          ;6800 2 T1   1 0 007F
  166.         
  167.         MPY  *+,arp        ;6DA0 2 T1   1 0 01
  168.         MPY  *-,arp        ;6D90 2 T1   1 0 01
  169.         MPY  *,arp         ;6D80 2 T1   1 0 01
  170.         MPY  *+            ;6DA8 2 NOP  1
  171.         MPY  *-            ;6D98 2 NOP  1
  172.         MPY  *             ;6D88 2 NOP  1
  173.         MPY  addr          ;6D00 2 T1   1 0 007F
  174.         
  175.         MPYK const         ;8000 2 T1   1 0 1FFF
  176.         
  177.         NOP                ;7F80 2 NOP  1
  178.         
  179.         OR   *+,arp        ;7AA0 2 T1   1 0 01
  180.         OR   *-,arp        ;7A90 2 T1   1 0 01
  181.         OR   *,arp         ;7A80 2 T1   1 0 01
  182.         OR   *+            ;7AA8 2 NOP  1
  183.         OR   *-            ;7A98 2 NOP  1
  184.         OR   *             ;7A88 2 NOP  1
  185.         OR   addr          ;7A00 2 T1   1 0 007F
  186.         
  187.         OUT  *+,port,arp   ;48A0 2 T1   1 8 0700
  188.         OUT  *-,port,arp   ;4890 2 T1   1 8 0700
  189.         OUT  *, port,arp   ;4880 2 T1   1 8 0700
  190.         OUT  *+,port       ;48A8 2 T1   1 8 0700
  191.         OUT  *-,port       ;4898 2 T1   1 8 0700
  192.         OUT  *, port       ;4888 2 T1   1 8 0700
  193.         OUT  addr,port     ;4800 2 TDMA 1 8 0700
  194.         
  195.         PAC                ;7F8E 2 NOP  1
  196.         POP                ;7F9D 2 NOP  1
  197.         PUSH               ;7F9C 2 NOP  1
  198.         RET                ;7F8D 2 NOP  1
  199.         ROVM               ;7F8A 2 NOP  1
  200.  
  201. ;Note that shift count can only be 0,1, or 4.  
  202. ;Mask also allows 5.  Beware.
  203.         SACH *+,shift,arp  ;58A0 2 T1   1 8 0500
  204.         SACH *-,shift,arp  ;5890 2 T1   1 8 0500
  205.         SACH *, shift,arp  ;5880 2 T1   1 8 0500
  206.         SACH *+,shift      ;58A8 2 T1   1 8 0500
  207.         SACH *-,shift      ;5898 2 T1   1 8 0500
  208.         SACH *, shift      ;5888 2 T1   1 8 0500
  209.         SACH *+            ;58A8 2 NOP  1
  210.         SACH *-            ;5898 2 NOP  1
  211.         SACH *             ;5888 2 NOP  1
  212.         SACH addr,shift    ;5800 2 TDMA 1 8 0500
  213.         SACH addr          ;5800 2 T1   1 0 007F
  214.   
  215. ; Shift count must be zero  for SACL      
  216.         SACL *+,shift0,arp ;50A0 2 T1   1 8 0000
  217.         SACL *-,shift0,arp ;5090 2 T1   1 8 0000
  218.         SACL *, shift0,arp ;5080 2 T1   1 8 0000
  219.         SACL *+,shift0     ;50A8 2 T1   1 8 0000
  220.         SACL *-,shift0     ;5098 2 T1   1 8 0000
  221.         SACL *, shift0     ;5088 2 T1   1 8 0000
  222.         SACL *+            ;50A8 2 NOP  1
  223.         SACL *-            ;5098 2 NOP  1
  224.         SACL *             ;5088 2 NOP  1
  225.         SACL addr,shift0   ;5000 2 TDMA 1 8 0000
  226.         SACL addr          ;5000 2 T1   1 0 007F
  227.         
  228.         SAR  ar,*+,arp     ;30A0 2 TAR  1 0 0001
  229.         SAR  ar,*-,arp     ;3090 2 TAR  1 0 0001
  230.         SAR  ar,*,arp      ;3080 2 TAR  1 0 0001
  231.         SAR  ar,*+         ;30A8 2 TAR  1 0 0001
  232.         SAR  ar,*-         ;3098 2 TAR  1 0 0001
  233.         SAR  ar,*          ;3088 2 TAR  1 0 0001
  234.         SAR  ar,addr       ;3000 2 TAR  1 0 007F
  235.         
  236.         SOVM               ;7F8B 2 NOP  1
  237.         SPAC               ;7F90 2 NOP  1
  238.         
  239.         SST  *+,arp        ;7CA0 2 T1   1 0 0001
  240.         SST  *-,arp        ;7C90 2 T1   1 0 0001
  241.         SST  *,arp         ;7C80 2 T1   1 0 0001
  242.         SST  *+            ;7CA8 2 NOP  1
  243.         SST  *-            ;7C98 2 NOP  1
  244.         SST  *             ;7C88 2 NOP  1
  245.         SST  addr          ;7C00 2 T1   1 0 007F
  246.         
  247.         SUB  *+,shift,arp  ;10A0 2 T1   1 8 0F00
  248.         SUB  *-,shift,arp  ;1090 2 T1   1 8 0F00
  249.         SUB  *, shift,arp  ;1080 2 T1   1 8 0F00
  250.         SUB  *+,shift      ;10A8 2 T1   1 8 0F00
  251.         SUB  *-,shift      ;1098 2 T1   1 8 0F00
  252.         SUB  *, shift      ;1088 2 T1   1 8 0F00
  253.         SUB  *+            ;10A8 2 NOP  1
  254.         SUB  *-            ;1098 2 NOP  1
  255.         SUB  *             ;1088 2 NOP  1
  256.         SUB  addr,shift    ;1000 2 TDMA 1 8 0F00
  257.         SUB  addr          ;1000 2 T1   1 0 007F
  258.         
  259.         SUBC *+,arp        ;64A0 2 T1   1 0 01
  260.         SUBC *-,arp        ;6490 2 T1   1 0 01
  261.         SUBC *,arp         ;6480 2 T1   1 0 01
  262.         SUBC *+            ;64A8 2 NOP  1
  263.         SUBC *-            ;6498 2 NOP  1
  264.         SUBC *             ;6488 2 NOP  1
  265.         SUBC addr          ;6400 2 T1   1 0 007F
  266.         
  267.         SUBH *+,arp        ;62A0 2 T1   1 0 01
  268.         SUBH *-,arp        ;6290 2 T1   1 0 01
  269.         SUBH *,arp         ;6280 2 T1   1 0 01
  270.         SUBH *+            ;62A8 2 NOP  1
  271.         SUBH *-            ;6298 2 NOP  1
  272.         SUBH *             ;6288 2 NOP  1
  273.         SUBH addr          ;6200 2 T1   1 0 007F
  274.         
  275.         SUBS *+,arp        ;63A0 2 T1   1 0 01
  276.         SUBS *-,arp        ;6390 2 T1   1 0 01
  277.         SUBS *,arp         ;6380 2 T1   1 0 01
  278.         SUBS *+            ;63A8 2 NOP  1
  279.         SUBS *-            ;6398 2 NOP  1
  280.         SUBS *             ;6388 2 NOP  1
  281.         SUBS addr          ;6300 2 T1   1 0 007F
  282.         
  283.         TBLR *+,arp        ;67A0 2 T1   1 0 01
  284.         TBLR *-,arp        ;6790 2 T1   1 0 01
  285.         TBLR *,arp         ;6780 2 T1   1 0 01
  286.         TBLR *+            ;67A8 2 NOP  1
  287.         TBLR *-            ;6798 2 NOP  1
  288.         TBLR *             ;6788 2 NOP  1
  289.         TBLR addr          ;6700 2 T1   1 0 007F
  290.         
  291.         TBLW *+,arp        ;7DA0 2 T1   1 0 01
  292.         TBLW *-,arp        ;7D90 2 T1   1 0 01
  293.         TBLW *,arp         ;7D80 2 T1   1 0 01
  294.         TBLW *+            ;7DA8 2 NOP  1
  295.         TBLW *-            ;7D98 2 NOP  1
  296.         TBLW *             ;7D88 2 NOP  1
  297.         TBLW addr          ;7D00 2 T1   1 0 007F
  298.         
  299.         XOR  *+,arp        ;78A0 2 T1   1 0 01
  300.         XOR  *-,arp        ;7890 2 T1   1 0 01
  301.         XOR  *,arp         ;7880 2 T1   1 0 01
  302.         XOR  *+            ;78A8 2 NOP  1
  303.         XOR  *-            ;7898 2 NOP  1
  304.         XOR  *             ;7888 2 NOP  1
  305.         XOR addr           ;7800 2 T1   1 0 007F
  306.         
  307.         ZAC                ;7F89 2 NOP  1
  308.         
  309.         ZALH *+,arp        ;65A0 2 T1   1 0 01
  310.         ZALH *-,arp        ;6590 2 T1   1 0 01
  311.         ZALH *,arp         ;6580 2 T1   1 0 01
  312.         ZALH *+            ;65A8 2 NOP  1
  313.         ZALH *-            ;6598 2 NOP  1
  314.         ZALH *             ;6588 2 NOP  1
  315.         ZALH addr          ;6500 2 T1   1 0 007F
  316.         
  317.         ZALS *+,arp        ;66A0 2 T1   1 0 01
  318.         ZALS *-,arp        ;6690 2 T1   1 0 01
  319.         ZALS *,arp         ;6680 2 T1   1 0 01
  320.         ZALS *+            ;66A8 2 NOP  1
  321.         ZALS *-            ;6698 2 NOP  1
  322.         ZALS *             ;6688 2 NOP  1
  323.         ZALS addr          ;6600 2 T1   1 0 007F
  324.         .end
  325.